﻿#region Header

/*
Remote views based on linq
By

Pascal Hauser 
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

and

Raphael Gfeller
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

*/

#endregion

#region Usings

#endregion

namespace Sebarf.Core {
	/// <summary>
	/// Is responsible for registering of additional services
	/// </summary>
	public interface IServiceRegistrationService {
		#region Public Methods

		/// <summary>
		/// Registers a service of the given type
		/// </summary>
		/// <typeparam name="TServiceType"></typeparam>
		/// <param name="service"></param>
		void RegisterService<TServiceType>(TServiceType service) where TServiceType : class;

		/// <summary>
		/// Registers a service 
		/// </summary>
		/// <typeparam name="TServiceType"></typeparam>
		/// <param name="service"></param>
		void RegisterService(object service);

		#endregion
	}
}